#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>

int main()
{
  pid_t id=fork();
  if(id==0)
  {
    int cnt=5;
    while(cnt--)
    {
      printf("我是子进程，我的pid是 %d，我的父进程是 %d\n",getpid(),getppid());
      sleep(1);
    }
    exit(0);
  }
  else 
  {
    int status=0;
    printf("我是父进程，我的pid是 %d，我的父进程是 %d\n",getpid(),getppid());
    pid_t ret=waitpid(id,&status,0);
    if(WIFEXITED(status))
    {
      printf("子进程正常退出，退出码：%d,退出信号：%d \n", WEXITSTATUS(status),status&0x7F);
    }
  }
  return 0;
}
